import axios from "axios";
export  const initMenu = (router,store)=>{
 /*   if(store.state.routes.length > 0){
        return
    }*/
    axios({
        method:'get',
        url:'/api/system/cfg/menu',
    }).then(res=>{
        if(res){
            //格式化router
            let fmtRoutes = formatRoutes(res.data);
            //添加到路由
            router.addRoutes(fmtRoutes);
            store.commit('initRoutes',fmtRoutes)
        }
    })
}
export  const formatRoutes=(routes)=>{
    let fmtRoutes=[];
    routes.forEach(router=>{
        let{
            path,
            component,
            name,
            iconCls,
            children
        } = router;
        if(children&&children instanceof Array){
           //递归
            children = formatRoutes(children);
        }
        let fmRouter = {
            path:path,
            name:name,
            iconCls:iconCls,
            children:children,
            component(resolve){
                if (component.startsWith('Emp')){
                    require(['../views/emp/'+component+'.vue'],resolve)
                }else  if (component.startsWith('per')){
                    require(['../views/per/'+component+'.vue'],resolve)
                }else if(component.startsWith('Home')){
                    require(['../views/'+component+'.vue'],resolve)
                }
                else if(component.startsWith('Sal')){
                    require(['../views/salary/'+component+'.vue'],resolve)
                }else if(component.startsWith('Sys')){
                    require(['../views/sys/'+component+'.vue'],resolve)
                }else if(component.startsWith('Sta')){
                    require(['../views/sta/'+component+'.vue'],resolve)
                }


            }
        }
        fmtRoutes.push(fmRouter)
    })
    return fmtRoutes
}

